package com.example.test_demo.danli;

public class Test {
	public static void main(String[] args) {
		//证明两个不同的实例引用，指向同一个实例对象
		/**
		 * 很多人都疑问你的静态方法getDX中不也是使用的new才创建的对象吗？
		 * 你调用了两次静态方法等于两次new对象了，按理来说你应该是创建了2个实例对象啊
		 * 这里考究的是静态方法中的静态，静态代码块和非静态代码块和构造方法的区别
		 * new一次对象执行一次静态，非静态和构造（依次执行），但是再次new一次对象就会只执行构造方法了，我们虽然
		 * 调用了两次构造方法其实对象只运行了一次，导致里面的代码也只new了一次
		 */
		LanHan dx = LanHan.getDX();
		LanHan dx2 = LanHan.getDX();
		dx.setAge(5);
		//输出5就是正确答案，说明单例成功了
		System.out.println(dx2.getAge());

	}
}
